home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
sokoban.tar
/
sokoban
< prev
Wrap
Text File
|
1991-03-13
|
6KB
|
155 lines
Article 3026 of comp.sys.handhelds:
Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!sol.ctr.columbia.edu!ira.uka.de!smurf!wrkof!dis.incom.de!disys!gilles
From: gilles@disys.dis.incom.de (Gilles Kohl)
Newsgroups: comp.sys.handhelds
Subject: MOVE: a Sokoban clone for HP48SX [long]
Keywords: game,sokoban,move
Message-ID: <1990Dec21.080234.20745@disys.dis.incom.de>
Date: 21 Dec 90 08:02:34 GMT
Organization: Delta Information Systems
Lines: 664
Summary:
--------
This posting describes (and contains) MOVE, a SOKOBAN clone for the HP48SX.
The aim of the game is to solve puzzles of increasing complexity.
Description:
------------
In MOVE, you're in charge of garbage collection inside your HP48. The
'garbage collector' is shown by a cross-shaped symbol. Your task is to
collect lost objects and move them onto free storage locations.
The characters in MOVE are: (all shapes 4x4 size, '.' == off, '#' == on)
.#..
###. your 'collector' or mover.
.#.. Control using [left], [right], [up] and [down] arrows
.... (appears a little differently on storage locations, see below)
###.
#.#. a moveable object. Push them to their storage locations.
###. you may only push objects (no pulling them) and only one
.... object at a time.
....
.#.. an empty storage location. Push moveable objects upon them.
....
....
###.
###. successfully filled-up storage location.
###. (you may still move the object away again, if necessary)
....
#.#.
.#.# an unmoveable object. No way to move it - just stands in
#.#. your way.
.#.#
your mover may move onto storage locations - this is what it looks like if on
one of them:
.#..
#.#. the 'mover' above an empty storage location.
.#.. (there is no special meaning to this, except to indicate
.... that you're above a storage location)
The aim of the game is filling up all storage locations by moving all
(moveable) objects to them. This successfully completes a garbage collection
task, and you're promptly assigned the next one. (Unless you've solved them
all). I'll refer to 'garbage collection tasks' as 'levels' in the following.
Keys
----
Move around using the arrow keys. As one may easily commit an unrecoverable
mistake (by pushing an object into a corner, for instance), there is a 'save
status' feature. Hitting [STO] will store the current situation. [EVAL] will
return you to this point (or to the initial situation by default, had no
[STO] been previously done). You may use the ['] key (the <blue> [HOME] key)
to restart a level from scratch. (This resets your saved situation, too).
Saving is quite fast. The 'mover' flashes shortly to indicate that the
operation has been carried out. "Remember, Al says: Save early, save often"
Hitting the backspace key [<-] (the <blue> [CLR] key) leaves MOVE. Hitting
[STO] prior to quitting in this way ensures that a subsequent {PLAY} will
take you where you left. Finally, you may turn your HP48 off during a MOVE
game by pressing the [+/-] key. MOVE will then resume at the press of the
[ON] key.
Customizing the keyboard
------------------------
You can easily change the keyboard assignements. {Keys} will yield a list of
all MOVE keys (row*10 + column), in the order:
Up Down Left Right Reset_level Save_level Restore_level Quit OFF
<gold>[Edit] this list, change to your needs and store back using
<gold>{Keys}
Levels
------
There are a total of 50 levels, each one taking up about 700 bytes, and thus
downloading them all at once to the HP48 is not recommended (unless you're a
lucky owner of a memory expansion card). MOVE comes packaged with the first 3
levels and takes up about 7K. The complete collection of all 50 levels is
encluded in the uuencoded, ZOOed file. (See below). When you solve a level,
it gets purged - thus freeing memory. The next level is then looked for and
shown if found. If it is not found, you're told so, and MOVE exits. The
required level number is left in the stack. Pressing {LdLvl} will request
it from the host provided that:
- your cable connection is set up
- your host is running in KERMIT server mode
- your host is in the directory where you put MOVE (and its levels)
Note that you may request several levels at once by giving LdLvl two
parameters: start and end level number. Example: Suppose you successfully
completed level 3. MOVE exits with a message telling you to use LdLvl. The
number 4 is left in the stack. Hitting [7] {LdLvl} will now request levels
four to seven from your host. Three or four levels (especially the higher
ones) are probably enough distracting material for a day. But: your mileage
may vary ...
The levels steadily increase in difficulty and should really be played in
sequence. You may however go directly to a certain level by using
<n> {GtoLvl} - where <n> is the desired level number.
Getting started
---------------
A little work is necessary before you can play MOVE on your HP48. First, you
might want to create a subdirectory where MOVE and the 50 levels will reside
on your host. Then, save the following uuencoded block under the name
'move.uue'. Using uudecode on it ('uudecode move.uue' on my system) will
create the file 'move.zoo'. Now apply the ZOO unpacker on this file.
('zoo x move.zoo' on my system). This will (hopefully) create levels 1 thru 50
as well as the file 'move', which you can finally download to your HP48. (Set
KERMIT to binary mode before doing so).
---
Despite some weird-looking binaries, MOVE is written entirely in user
language. Hope you'll have fun with it and find it worth the space this took
on C.S.H.
Here's the beef
---------------
--- cut below this line ---
[Included in tar file -- Wayne]
--- cut above this line ---